<?php

class Projetos extends Zend_Db_Table_Abstract
{

    protected $_name = 'projeto';
    protected $_rowClass = 'row_Projetos';
    protected $_dependentTables = array('Tarefas');
    protected $_referenceMap = array(
        'TarefaTipo' => array(
            'columns' => 'tipo_id',
            'refTableClass' => 'TarefasTipo',
            'refColumns' => 'id'
        ),
        'Responsavel' => array(
            'columns' => 'responsavel_id',
            'refTableClass' => 'Usuarios',
            'refColumns' => 'id'
        ),
    );


    public function insert($data)
    {
        if (null === ($id = $data['id'])){
            unset($data['id']);
            $data['dt_criacao'] = date('Y-m-d H:i:s');
            if(!$this->isUniqueName($data['projeto'])){
                throw new Exception('Este projeto já está cadastrado!');
            }
            parent::insert($data);
        }
        // id != null -> update
        else {
            parent::update($data, array('id = ?' => $id));
        }
    }

    public function isUniqueName($nome){
        $where = $this->getDefaultAdapter()
        ->quoteInto('projeto = ?', $nome);
        return (count($this->fetchAll($where)) == 0) ? true : false;
    }
    
}

?>
